package com.zh.juc.cas;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * @Author: zhanghuan
 * @date: 2022/10/17 19:57
 * @description: create it
 * CAS是CPU原子指令
 * public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);
 * var1: 表示要操作的对象
 * var2: 表示要操作对象的中属性地址的偏移量
 * var4: 表示需要修改数据的期望值
 * var5: 表示要修改为的新值
 */
public class CASDemo02 {
    public static void main(String[] args) {
        AtomicInteger atomicInteger = new AtomicInteger(5);
        // 预期值5，更新值2022
        System.out.println(atomicInteger.compareAndSet(5, 2022) + "\t" + atomicInteger.get());
        System.out.println(atomicInteger.compareAndSet(5, 2022) + "\t" + atomicInteger.get());
    }
}
